package org.dromara.dp.vo;

import lombok.AllArgsConstructor;
import lombok.Data;

/**
 * 业务指标
 */
@Data
public class BusinessIndicatorVo {

    @Data
    @AllArgsConstructor
    public static class AccidentStats {
        // 近三年内重大事故
        private Integer lastThreeYearsMajorAccidents;
        // 近两年内重大事故
        private Integer lastTwoYearsSeriousAccidents;
        // 近一年内重大事故
        private Integer lastYearGeneralAccidents;
    }

    @Data
    @AllArgsConstructor
    public static class DoublePreventionStats {
        // 隐患总数
        private Integer totalHiddenDangers;
        // 重大隐患
        private Integer majorHiddenDangers;
        // 未整改
        private Integer unRectifiedCount;
    }

    @Data
    @AllArgsConstructor
    public static class ControlLoop {
        // 有效自控率
        private Double effectiveControlRate;
    }

    @Data
    @AllArgsConstructor
    public static class DeviceRun {
        // 检维修完成率
        private Double maintenanceCompletionRate;
        // 报警总数
        private Integer totalAlarms;
        // 一级报警
        private Integer levelOneAlarms;
    }

    @Data
    @AllArgsConstructor
    public static class ProcessAlarm {
        // 操作平稳率
        private Double operationStabilityRate;
        // 报警总数
        private Integer totalAlarms;
        // A类报警
        private Integer aClassAlarms;
    }

    @Data
    @AllArgsConstructor
    public static class SisSide {
        // 旁路数量
        private Integer bypassCount;
    }

    @Data
    @AllArgsConstructor
    public static class GDSAlarm {
        // 总数
        private Integer totalAlarms;
        // 可燃
        private Integer combustibleAlarms;
        // 有毒
        private Integer toxicAlarms;
    }

    @Data
    @AllArgsConstructor
    public static class SpecialWorkStats {
        // 总数
        private Integer total;
        // 动火
        private Integer fireWork;
        // 受限空间
        private Integer spaceWork;
        // 高处
        private Integer elevationWork;
        // 吊装
        private Integer hoistingWork;
    }

    @Data
    @AllArgsConstructor
    public static class PersonAggregation {
        // 红
        private Integer redLevel;
        // 橙
        private Integer orangeLevel;
        // 黄
        private Integer yellowLevel;
    }
}
